package aupdg.logic.mining;

import aupdg.data.Log;
import aupdg.data.model.Petrinet;

/**
 * Contract of the alpha-algorithm. It is a wrapper of the different
 * implementations.
 *
 * @author AA and CJ
 */
public interface AlphaAlgorithm {

    /**
     * The process mining method. It takes the log as argument and returns a
     * Petrinet.
     *
     * @param log
     * @return
     */
    public Petrinet mine(Log log);

    /**
     * Method returns the wrapped algorithm.
     *
     * @return
     */
    public Object getInnerAlgorithm();
}
